The ever-increasing reliance on information and the computing systems that produce, process, distribute, and maintain such information in its various forms continues to put great demands on techniques for providing data storage and access to that data storage. As demands and expectations from an information network change over the lifetime of the information network, initial decisions made with regard to where and how data is stored in the information network may need to be altered, as well as determining which processing nodes can have access to that data storage. Modifying those initial decisions of storage allocation and access implicates not only a change in the storage resources themselves, but also allocation of network administrator resources to manually implement such changes.
For example, in large-scale storage area network (SAN)-based data centers, storage access and connectivity are typically provisioned in advance. Storage access flexibility is then balanced against storage access security. For example, in clusters of processor nodes accessing the SAN, all nodes are required to be configured to see all the storage resources they may ever need to use, even if a particular node is not using that storage at a particular moment. Further, each storage resource needs to be provisioned to and configured individually on all nodes in the cluster. Provisioning and configuration of all the storage resources and processor nodes can be error prone and makes adding additional processor nodes and storage resources to a cluster difficult.
Fast and flexible migration of storage resources from one node to another is administratively difficult without going through detailed planning and configurations prior to such migration. As an example, in a situation where a node suffers a physical host bus adapter (HBA) failure and that HBA requires replacement, each configuration related to that node has to be revised to ensure that storage connectivity is maintained. In a large storage area network having many processor nodes accessing many storage resources, the scale of this process is magnified.
It is therefore desirable to have a fast and flexible system for ensuring the availability of storage resources to processing nodes requiring access to those resources. It is further desirable that such a system have a low impact on network administration resources, while at the same time maintaining security of those resources. Further, it is desired that such a solution complement, rather than replace, currently implemented mechanisms for providing storage access and security in a storage area network.